package com.weiyuwqj.server.mapper;

import com.weiyuwqj.api.model.BusDebtCollect;
import com.weiyuwqj.api.model.vo.DebtCollectStatVo;
import com.weiyuwqj.api.model.vo.RepayCollectVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;
@Repository
public interface BusDebtCollectMapper extends Mapper<BusDebtCollect> {

    /**
     * 根据债权投资id查询债权待收列表
     * @return
     */
    List<BusDebtCollect> getDebtCollectListByDebtInvestId(Integer debtInvestId);

    /**
     * 根据id修改待收状态
     * @param newStatus
     * @param oldStatus
     * @param id
     * @return
     */
    Integer modifyDebtCollectStatusById(@Param("newStatus")Integer newStatus,@Param("oldStatus")Integer oldStatus,@Param("id")Integer id);

    //统计未还的待收
    DebtCollectStatVo statNoPayCollect(Map map);

    //查询可以回款的待收记录
    List<RepayCollectVo> listUsefulCollect(Integer itemId, Integer currentPeriod);

    int updateActualCollect(Map map);

    /**
     * 剩余未完成期数
     *
     * @param debtInvestId 投资ID
     * @return 剩余未完成期数
     */
    Integer getCollectListNotOverCount(@Param("debtInvestId") Integer debtInvestId);

    /**
     * 根据debtInvestId查询最后一期
     * @param debtInvestId
     * @return
     */
    BusDebtCollect getCollectByDebtInvestId(Integer debtInvestId);
}